package www.lagou.app;

import org.junit.Test;
import www.lagou.dao.EmployeeQuery;
import www.lagou.entity.Dept;
import www.lagou.entity.Employee;

import java.sql.SQLException;
import java.util.List;

/**
 * 测试员工查询功能。
 */
public class EmployeeQueryTest {
    /**
     * 测试查询所有的员工信息 (不包含没有部门的员工)。
     */
    @Test
    public void testGetAllEmployees() {
        try {
            System.out.println("# 查询所有的员工信息 (不包含没有部门的员工)");
            List<Employee> emps = EmployeeQuery.getAllEmployees();
            for (Employee emp : emps) {
                System.out.println(emp);
            }
            System.out.println();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    /**
     * 测试查询每个员工的姓名, 薪资和所属部门名称。
     */
    @Test
    public void testGetPartialEmployees() {
        try {
            System.out.println("# 查询每个员工的姓名, 薪资和所属部门名称");
            List<Employee> emps = EmployeeQuery.getPartialEmployees();
            for (Employee emp : emps) {
                Dept dept = emp.getDept();
                System.out.printf("员工姓名: %s, 薪水: %.1f, 部门: %s\n",
                        emp.getName(), emp.getSalary(), dept != null ? dept.getDeptname() : null);
            }
            System.out.println();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
